Method and Apparatus for Making Devices on a Local Network Remotely-Accessible

ABSTRACT

The present invention relates to method and apparatus for enabling to request querying and/or controlling operations to a device on a home network via Internet. In a method in accordance with the present invention, a document of device list to show devices is made out in browser-interpretable format (or in remote UPnP-control point interpretable format) based on information provided from a plurality of devices connected to a home network, afterwards, a device searching message is transmitted periodically toward the plurality of devices and the document is modified based on responses to the message from the devices (or from a proxy on the home network) The modified document is provided for an external connection program, e.g., browser (or UPnP control point) to interpret/process, as a result, changed list of devices on the home network is displayed to a user.

1. TECHNICAL FIELD

The present invention relates to method and apparatus for enabling remote query and control for a device on a home network.

2. BACKGROUND ART

As an increasing number of electronic appliances such as video or audio apparatuses or PCs have been used in a home and digital techniques have become dominant in video and audio signal processing, the need for communication between home electronic appliances or communication with other networks is also increasing. In addition, the demand for controlling home electronic appliances through a single mobile apparatus such as a PDA is also increasing.

To meet the demand, home networking technology has emerged for connecting home electronic appliances such as digital TVs or DVD players. The UPnP (Universal Plug and Play) is a key technology required for implementing the home network.

FIG. 1 shows an exemplary UPnP network. According to the UPnP specification, every home network requires an apparatus called the IGD (Internet Gateway Device) 20, which assigns addresses to elements or nodes 10, 11, 12 connected to the network and also acts as a gateway to external networks, e.g., the Internet. The IGD 20 may be a stand-alone device or embedded within another apparatus such as a PC or refrigerator.

Each UPnP network has a control point (CP) 10, which discovers and controls devices connected to the UPnP network, processes events, and enables remote query and control through the provided user interface (UI). Precisely speaking, the control point is a control application program executed on a device. However, the device executing the control application program is also referred to as the control point.

The control point 10 provides the UPnP discovery service at startup, which finds electronic devices connected to the home network by transmitting a search message to the home network and obtains information regarding the found devices. The control point 10 then provides the obtained information for a user through a user interface specially designed for the home network, thereby allowing the user to request a certain service using the user interface.

The user of the home network may want to request remote query or control for a device on the home network from outside the home network. In this case, however, the user cannot access the home network through the Internet simply by using the control point 10 at a remote location.

3. DISCLOSURE OF THE INVENTION

It is an object of the present invention to enable a general web browser to make remote query and/or control for a device on a home network.

It is another object of the present invention to provide a method and apparatus for informing changes in a home network (e.g., addition or deletion of a device) through a general web browser.

One method in accordance with the invention creates a document for a device list based on information provided by a plurality of devices in a language that can be interpreted by a browser, invokes the browser to make the browser interpret/process the created document, transmits a device search message to the local network periodically, modifies the created document based on the response to the message from the plurality of devices or a proxy on the local network, and makes the modified document to be interpreted/processed by the browser.

In another method in accordance with the invention, a gateway device of a local network transmits a device search message to a plurality of devices on the local network periodically, creates or modifies a document for a device list based on the response to the device search message, and provides the document for an application program running on a remote device to make the document to be processed by the application program.

In one embodiment, the browser is a web browser running on a PC or a notebook.

In another embodiment, the browser is a WAP browser running on a PDA or a cellular phone.

In one embodiment, the document is written in a markup language such as html.

One embodiment of the invention extracts presentation information (e.g., URL) from a device description provided by each of the plurality of devices and creates the document a device list based on the extracted presentation information.

In one embodiment, the application program is a UPnP-based control point and the gateway device crates the document in a format which can be processed by the user interface of the application program.

In one embodiment, if there is a response to the device search message from a device which does not belong to the plurality of devices for the first time, the created document is modified such that the device is included in the device list and the browser or the application program is invoked so that the modified document may be processed.

In one embodiment, the created document is modified such that a device which does not respond to the periodically transmitted device search message is removed from the device list and the browser or the application program is invoked so that the modified document may be processed.

4. BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary UPnP home network;

FIG. 2 illustrates an exemplary home network in accordance with one embodiment of the present invention;

FIGS. 3 a and 3 b illustrate exemplary formats of device description and service description provided by UPnP devices;

FIG. 4 a illustrates an exemplary document for listing available devices, created based on device descriptions provided in accordance with the present invention;

FIG. 4 b illustrates an exemplary screen output according to the document shown in FIG. 4 a displayed by a browser;

FIGS. 5 a and 5 b illustrate exemplary screen output according to an html document for control of a device and an html document for a response to a particular action, displayed by the web browser;

FIGS. 6 a and 6 b illustrate flow diagrams for transmitting a device search message to the home network periodically and for updating the document for listing devices based on the response to the search message in accordance with one embodiment of the invention; and

FIG. 7 illustrates a flow diagram for updating the document for listing devices based on the response to a search message transmitted periodically by the IGD of the home network in accordance with another embodiment of the invention.

5. BEST MODE FOR CARRYING OUT THE INVENTION

In order that the invention may be fully understood, preferred embodiments thereof will now be described with reference to the accompanying drawings.

FIG. 2 shows an exemplary home network in accordance with one embodiment of the present invention. The network enables a remote access to a device on the network through a general web browser.

A remote user has an Internet-accessible notebook computer 201 in which a general control application 200 in accordance with the present invention is installed. The general control application 200 is also called the general control point. The notebook computer 201 has a public IP address for accessing the Internet. The user or the general control application 200 knows the public IP address of the IGD 100 of his/her home network. The IP address of the IGD 100, which is assigned by an ISP (Internet Service Provider), may be a dynamic IP address, in which case the user finds the dynamic IP address thereof using an appropriate method. The method for finding the dynamic IP address has no relevance to the present invention and therefore the method is not described here.

The general control point 200 performs the discovery procedure at startup by transmitting a search message, the header of which contains the public IP address of the IGD 100. The search message is received by the IGD 100 via the Internet and the IGD 100 notifies the home network of the search message after removing the IP header thereof by an address conversion process.

Every device on the home network responds to the received message to notify its existence. The IGD 100 appends a header containing the IP address of the notebook computer 201 to each response message, thereby allowing the response message to be received by the general control point 200 via the Internet. In another embodiment of the invention, the IGD 100 (or a proxy implemented in the IGD 100) responds to the search message for the home network devices based on the list of home network devices that the IGD 100 or the proxy maintains. The general control point 200 registers the devices found in each of the response messages at its own device list and requests each of the devices to provide device description. Each device responsive to the request (or the IGD 100 as a proxy) provides device description as illustrated in FIG. 3 a and service description as illustrated in FIG. 3 b for the general control point 200.

In the case where a VPN client starts running on the notebook computer 201, one of private IP addresses available for devices on the home network is assigned to the notebook computer 201 by the IGD 100. As a result, the general control point 200 and the general browser can communicate with devices on the home network through the VPN client as if the general control point 200 were directly connected to the home network.

The general control point 200 parses the device description received from each of the devices to extract presentation information such as a URL (Universal Resource Locator) 301. Based on the obtained information, the general control point 200 creates a markup-language document for listing URLs associated with devices (e.g., the html document as shown in FIG. 4 a) and stores the document in a file. The html document is assigned an appropriate title (e.g., available home network devices) by the general control point 200.

When the document is completed, the general control point 200 invokes the general web browser installed in the notebook computer 201 with the document title as an input parameter. The web browser interprets the document whose title is provided as the input parameter and outputs the content thereof. FIG. 4 b is the screen output of the web document shown in FIG. 4 a, displayed by the web browser.

After the document is displayed as shown in FIG. 4 b, the devices on the home network can be monitored and/or controlled through the web browser. If the user selects a device (e.g., electric light stand) from the output screen, the URL 401 in FIG. 4 a is transmitted to the home network device having the URL (i.e., electric light stand). The electric light stand 103 then provides a presentation page therefor (e.g., the document titled lightUI.html), which will be displayed as shown in FIG. 5 a by the web browser. The presentation page enables the user to control the power of the electric light stand 103. The buttons on the displayed presentation page are linked to UPnP actions for queries or control operations for the selected device. If the user selects an item on the presentation page, the action associated with the selected item is transmitted to the device and therefore the selected action for query or control is executed.

If the user selects the button having ‘yes’ thereon in FIG. 5 a, the UPnP action for turning on the electric light stand 103 is transmitted to the electric light stand 103. The electric light stand 103 then turns on its power and transmits an html document for indicating the result of the action back to the browser, thereby allowing the user to get informed of the result of the action through the web browser output as shown in FIG. 5 b. The control action for the electric light stand 103 is a mere example of applying the principle of the present invention and thus more sophisticated queries or control operations for other devices can be performed through the web browser in the same manner.

Even after the web browser is invoked, the general control point 200 transmits the search message at regular intervals to keep informed of changes in the home network (e.g., the case where a new device joins the home network or a registered device is removed from the home network). To this end, the general control point 200 sets a timer to a predetermined value (S601) as shown in FIG. 6 a. If the timer expires (S602), the general control point 200 retransmits the search message to the home network (S603) and the abovementioned procedure is repeated. Devices on the home network responds to the search message to notify its existence as mentioned before. In another embodiment of the invention, the IGD 100 (or a proxy implemented in the IGD 100) responds to the search message for the home network devices based on the list of home network devices that the IGD 100 or the proxy maintains. In this case, the IGD 100 or proxy implemented in the IGD 100 transmits a search message to the home network periodically and keeps its own device list up to date by updating the device list based on the responses to the search message.

FIG. 6 b is a flow diagram showing how the general control point 200 processes response messages. If a response message is received (S611), the general control point 200 examines whether the address of the sender thereof is found in the device list which it maintains. If the address is not found in the device list (S612), the message was sent by a device newly connected to the home network. If so, the general control point 200 updates its device list so that the new device can be included therein. And the general control point 200 requests the new device to provide its device description, receives the requested device description, obtains the URL of the presentation page for the new device, and updates the document for listing devices connected to the home network as shown in FIG. 4 a based on the obtained information.

If a device registered in its device list does not respond to the search message or a previously registered device is not found in the list of devices provided by the IGD 100, the general control point 200 determines that the device is removed from the home network and removes the presentation URL for the device from the document for listing devices. However, the general control point 200 does not remove the presentation URL immediately after a device does not respond to the search message. Instead, the general control point 200 removes the presentation URL for the device if the device does not respond to the search message more than N times successively (e.g., 3 times in a row).

If the document listing devices is modified, the general control point 200 re-invokes the web browser with the title of the document as an input parameter (S613). Before re-invoking the web browser, the general control point 200 may terminate the previously invoked web browser using the process ID returned when the web browser was invoked.

Alternatively, the general control point 200 may provide the modified document for the previously invoked web browser so that the web browser can display the content of the updated document in the current browser screen without re-invoking the web browser.

The user may request remote query or control for a device on the home network through a mobile phone 202 or PDA. When making the document for listing devices on the network based on the device descriptions received in the aforementioned manner, the general control point executed in a mobile apparatus according to the present invention makes the document appropriate for wireless browsers (e.g., WAP document).

In another embodiment of the present invention, a remote device 201, which is equipped with the function of a UPnP control point, connects to the home network through a VPN client and acts exactly as a local control point on the home network. The remote device 201 may discover or control devices on the home network through UPnP actions and the user of the remote device 201 can utilize the same user interface as that of the local control point. In this embodiment, the procedures shown in FIGS. 6 a and 6 b may be executed by the IGD 100 or the proxy implemented in the IGD 100. In other words, the IGD 100 or the proxy transmits the search message to the home network periodically and updates the document for listing devices as shown in FIG. 7 when there is a change in the list of devices on the home network (S713).

The updated document for listing devices is certified by the IGD 100 through the UPnP control point and provided for the UPnP control point so that the content thereof is displayed by the user interface. If a device search message is received from the remote UPnP control point, the message is not transmitted to the devices on the home network. Instead, the IGD 100 or the proxy implemented in the IGD 100 responds to the search message based on its own device list or provides the device list information.

The document for listing devices is initially created based on the response messages and device description information received from devices on the home network in such a way that the document can be interpreted/processed by the user interface of the UPnP control point.

The present invention allows a user of a home network to get informed of changes in the home network through an external wide-area network and enables remote query or control for the devices on the home network in consideration for the changes, thereby significantly improving the convenience of the home network.

While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that all such modifications and variations fall within the spirit and scope of the invention. 

1. A method for making a plurality of devices on a local network accessible, comprising the steps of: (a) creating a document for a device list based on information provided by the plurality of devices, the document being written in a language that can be interpreted by a browser; and (b) transmitting a device search message to the plurality of devices periodically and modifying the created document based on response to the message.
 2. The method of claim 1, wherein the browser is a web browser or a WAP browser.
 3. The method of claim 1, wherein the step (b) writes the document in a markup language.
 4. The method of claim 1, wherein the step (b) modifies the created document such that a device which responds to the device search message for the first time but does not belong to the plurality of devices is included in the device list.
 5. The method of claim 1, wherein the step (b) modifies the created document such that a device which does not respond to the periodically transmitted device search message is removed from the device list.
 6. The method of claim 1, wherein the step (a) extracts presentation information from a device description provided by each of the plurality of devices and creates the document based on the extracted presentation information.
 7. The method of claim 6, wherein the presentation information includes URL information.
 8. The method of claim 1, further comprising the step of: (c) making a request for interpreting/processing the modified document to the browser.
 9. The method of claim 1, wherein the response to the device search message is made by all or some of the plurality of devices.
 10. The method of claim 1, wherein the response to the device search message is made by a proxy on the local network.
 11. A method for making a plurality of devices on a local network accessible, comprising the steps of: (a) creating device list information for listing devices based on information provided by the plurality of devices; (b) transmitting a device search message to the plurality of devices periodically and modifying the created device list information based on response to the device search message from the plurality of devices; and (c) providing the device list information in response to a device search from a remote site.
 12. The method of claim 11, wherein the device search is received from a remote control point, which can communicate with the plurality of devices using messages the format of which is the same as that of messages exchanged on the local network.
 13. An apparatus for accessing a plurality of devices on a local network through a wide area network, comprising a control device for communicating with the local network by connecting to the wide area network, the control device including: a browser for interpreting and processing a document written in a markup language; and a control application for creating a document for a device list in a format which the browser can interpret based on information received from the plurality of devices through the wide area network and for invoking the browser so that the browser interprets and processes the created document, wherein the control application transmits a device search message to the local network periodically, modifies the created document based on response to the device search message, and requests the browser to interpret and process the modified document.
 14. The apparatus of claim 13, wherein the browser is a web browser or a WAP browser.
 15. The apparatus of claim 13, wherein the control application writes the document in a markup language.
 16. The apparatus of claim 13, wherein the control application modifies the created document such that a device which responds to the device search message for the first time but does not belong to the plurality of devices is included in the device list.
 17. The apparatus of claim 13, wherein the control application modifies the created document such that a device which does not respond to the periodically transmitted device search message is removed from the device list.
 18. The apparatus of claim 13, wherein the control application extracts presentation information from a device description provided by each of the plurality of devices and creates the document for the first time based on the extracted presentation information.
 19. The apparatus of claim 13, wherein the response to the device search message is made by all or some of the plurality of devices.
 20. The apparatus of claim 13, wherein the response to the device search message is made by a proxy on the local network.
 21. An apparatus for making a plurality of devices on a local network accessible through a wide area network, comprising a gateway device for the local network for arbitrating data exchange among the plurality of devices and assigning/maintaining network addresses, wherein the gateway device transmits a device search message to the plurality of devices periodically, creates or modifies a document for a device list based on the response to the device search message, and provides the document for a remote device.
 22. The apparatus of claim 21, wherein the gateway device creates the document in a format which the user interface of the remote device can interpret/process.
 23. The apparatus of claim 21, wherein the gateway device extracts presentation information from a device description provided by each of the plurality of devices and creates the document for the first time based on the extracted presentation information. 